package com.gjy.mybatis.stu.mapper;

import com.gjy.mybatis.stu.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author gjy
 * @version 1.0
 * @since 2025-10-10 12:24:42
 */
public interface UserMapper {

    // 查询所有用户
    List<User> findAll();

    // 根据ID查询用户
    User findById(Long id);

    // 根据用户名查询用户
    User findByUsername(String username);

    // 插入用户
    int insert(User user);

    // 更新用户
    int update(User user);

    // 删除用户
    int deleteById(Long id);

    // 根据年龄范围查询用户
    List<User> findByAgeRange(@Param("minAge") Integer minAge, @Param("maxAge") Integer maxAge);

    // 分页查询
    List<User> findByPage(@Param("offset") Integer offset, @Param("limit") Integer limit);

    // 统计用户数量
    int count();

}
